1. Field of the Invention
The invention is directed to a system and method for allocating a plurality of sources to a plurality of communication channels.
2. Background of the Invention
In general, communication systems in digital networks and systems such as processing systems include a plurality of sources or source devices which transfer signals such as data signals to a plurality of receivers or receiving devices over a plurality of communication channels. Typically, the multiple sources share the multiple channels. Since simultaneous transfer of signals by multiple sources over the same channel is to be avoided, techniques for sharing the channels without simultaneous transfer have been developed. One technique involves allowing sources access to the channels in order based on priority of the sources.
Typically, in these priority-based approaches, a priority value is assigned to each source. When a plurality of sources simultaneously request the use of a channel, the priority values assigned to the sources are compared, and a source having the highest priority value is selected and is allocated to a channel which corresponds to that source.
FIG. 1 illustrates an example of a conventional channel allocation system 100. Referring to FIG. 1, priority values PR 1˜PR N and PR N+1˜PR 2N for channel allocation are assigned to sources Src 1˜Src N and Src N+1˜Src 2N, respectively. When the sources Src 1˜Src N and Src N+1˜Src 2N request the use of channels 120 and 140, the priority values PR 1˜PR N and PR N+1˜PR 2N are input to priority calculating and channel request source selecting units 110 and 130. The priority calculating and channel request source selecting units 110 and 130 output source signals Ch1_RSID and Ch2_RSID which have the highest priority value among the sources Src 1˜Src N and Src N+1˜Src 2N, respectively, and allocate sources Ch1_RSID and Ch2_RSID to the channels 120 and 140.
In the structure of the conventional system, the channel is fixed on each of the sources. That is, sources Src 1˜Src N shown in the upper portion of FIG. 1 use only the first channel 120, and sources Src N+1˜Src 2N shown in the lower portion of FIG. 1 use only the second channel 140. Thus, when the upper sources Src 1˜Src N try to simultaneously transmit data using the two channels, data transmission is not possible. That is, sources Src 1˜Src N cannot transmit signals on the second channel 140, and sources Src N+1˜Src 2N cannot transmit signals on the first channel 120.
Further, the conventional channel allocation system 100 inevitably requires a complicated unit such as the priority calculating and channel request source selecting units 110 and 130 to search a source having the highest priority value whenever a plurality of sources request the use of a channel. That is, as the number of sources which request the use of the channel increases, an arithmetic processing step of comparing the ranked priority values requires additional time, and thus, the process time is longer.
FIG. 2 is a circuit diagram illustrating in detail the structure of the priority calculating and channel request source selecting unit 110 of FIG. 1. With reference to FIG. 2, each source Src 1˜Src N includes a register in which priority values PR 1˜PR N are stored. When the sources request the use of the channel, priority values stored in the register corresponding to each of the sources are compared to each another, and the source having the highest priority value is selected. In order to perform this operation, comparators 22-1, 22-2˜22-M, and 240 are required. The size and number of the comparators increase as the number of input sources and registers increase. When a comparison operation increases in complexity with an increase in the number of input sources Src 1˜Src N, the comparison operation may be divided into several stages according to the frequency of an applied controlling clock.
FIG. 2 illustrates an example in which N sources Src 1˜Src N and priority values PR 1˜PR N are input to M comparators 22-1˜22-M. First comparators 22-1˜22-M output signals from sources having the highest priority. The signals from the sources are stored in registers 23-1˜23-M. Then, the priority values of the sources output from the registers 23-1˜23-M are compared with one another by a second comparator 240, and the signal from the source having the highest priority value is output and stored in a register 250. The source signal output from the register 250 is encoded by an encoder 260 and is allocated to the requested-channels.
FIG. 3 is an operational timing diagram of the priority calculating and channel request source selecting unit 110 of FIG. 2. Referring to FIG. 3, after a request (RS) signal and a priority value (PR) of a source are input, one cycle is required to perform a comparison operation by the first comparators 22-1˜22-M. Again, one cycle is required to perform a comparison operation by the second comparator 240. As a result, as the number of the input sources Src 1˜Src N increases, the number of registers and the number of comparison operations increase. The arithmetic processing step of comparing the priority values becomes more complicated. Thus, more cycle time is required. That is, the conventional channel allocation system is a non-effective system in which the amount and complexity of required circuitry increases and more cycle time is required.